import request from '@/utils/axios'

export interface MenuType {
  id: number
  parentId: number
  title: string
  icon: string
  component: string
  path: string
  visible: boolean
  sort: number
  name?: string
  permit: string
  transitionName: string | undefined
  keepAlive: boolean
  isFixed: boolean
  type: number
  badge: string
  dot: boolean
  status: number
  remark: string
  create_time?: Date
}

/**
 * 菜单接口
 */
export const MenuApi = {
  // 新增
  create: (data: MenuType) => {
    return request.post({ url: '/system/menu/create', data, is_mock: true })
  },
  // 修改
  update: (data: MenuType) => {
    return request.put({ url: '/system/menu/update', data, is_mock: true })
  },
  // 删除
  delete: (id: number | string) => {
    return request.delete({ url: '/system/menu/delete?id=' + id, is_mock: true })
  },
  // 查询详情
  detail: (id: number | string) => {
    return request.get({ url: '/system/menu/detail?id=' + id, is_mock: true })
  },
  // 查询列表
  list: () => {
    return request.get({ url: '/system/menu/list', is_mock: true })
  },
  // 查询列表（所有数据）
  all: () => {
    return request.get({ url: '/system/menu/all', is_mock: true })
  },
  // 查询精简列表（不包含按钮层的数据）
  simple: () => {
    return request.get({ url: '/system/menu/simple-list', is_mock: true })
  }
}
